The present invention relates to computer systems, and more particularly to messaging for computer systems.
Virtual machines techniques, which are available from a number of companies, including International Business Machines of Armonk, N.Y. and VMWare Inc. of Palo Alto, Calif., allow a portion of a relatively large computer system to be formed into a smaller computer system for a specific purpose as needed. For instance, a portion of a server system may be formed into a Web server. Moreover, the smaller computer system may be replicated as needed to provide more computing resources. For instance, a large number of Web servers could be quickly formed from a first Web server. Thus, virtual machines may be implemented quickly and are quite useful in dynamic environments.
A number of virtual machines may be serviced by a single network adapter. In the traditional network adapter driver model, multicast addresses are pushed down to the network adapter (e.g., for filtering purposes) until a threshold is met. This threshold is normally defined in the network adapter hardware specification, although newer adapters with a firmware-based intermediary can blindly accept addresses and provide feedback on the status of their acceptance by the hardware (e.g., add successful or add failed). In the end, however, the device driver is still required to manage a list of addresses.
In the context of managing multicast addresses for a number of virtual machines, a pre-determined allocation of resources is typically used for distributing the resources amongst the various virtual machines. For example, the resources may be divided evenly between the virtual machines. This solution allows for all of the virtual machines to benefit from the acceleration that the hardware provides